iT邦幫忙

2026 iThome 鐵人賽

DAY 20
0

C2PA 驗證成功,不代表內容是真的

[[我也希望安全第一]]|第 20/30 天

「這是 AI 做的嗎」其實混了三個問題

看到一張可疑圖片時,我們常問它是不是 AI 生成。工程上至少要分成三件事:

  1. 檔案有沒有一份可驗證的來源與編輯紀錄?
  2. 內容裡有沒有某家模型嵌入的不可見訊號?
  3. 分類器覺得它像不像 AI 生成?

C2PA/Content Credentials 處理第一題;SynthID 類浮水印處理第二題;GPTZero 類偵測器試著回答第三題。三者的證據強度和失敗方式不同。

C2PA 證明的是紀錄沒有被偷偷改,不是真相本身

C2PA manifest 可以記錄簽署者、建立工具、動作、素材來源與時間,再用數位簽章把這些 assertion 綁到資產。驗證成功表示:檔案中的 manifest 結構與簽章可驗、內容自簽署後未以不相符方式變動,而且憑證鏈能被指定的 trust list 接受。

它不能證明相機前的事件是真的。有人仍可拍攝佈景、輸入錯誤描述,或使用一張受信任但管理不當的簽署憑證。來源完整性和內容真實性不是同一件事。

有有效 C2PA
  → 可以驗證「誰宣稱做了哪些處理,紀錄是否完整」

沒有 C2PA
  → 可能是未支援、被平台移除、截圖、重新編碼或刻意剝除
  → 不能直接推論「一定是假」

一個最小驗證實驗

Content Authenticity Initiative 維護的 c2patool 可以讀取並驗證支援格式裡的 manifest。準備一張已帶 Content Credentials 的測試圖片後:

c2patool signed.jpg

檢查輸出時,不要只搜尋 success。至少記錄:

- active manifest 是否存在
- signature/timestamp validation status
- signing certificate 是否落在信任鏈
- claim generator 與 actions
- ingredients 與其 validation status
- 是否引用 remote manifest

接著建立測試矩陣:

樣本 預期結果 想確認的事
原始 signed asset manifest 與簽章有效 正常讀取路徑
改一個 byte 驗證失敗或資產不匹配 tamper detection
平台重新編碼副本 manifest 可能消失 發布鏈是否保留 metadata
截圖 通常無原 manifest absence 不能當偽造證明
自簽測試憑證 結構可驗但來源未受信任 valid signature ≠ trusted signer
惡意 manifest 欄位 parser 安全處理 驗證器本身也是攻擊面

官方的 c2pa-attacks 專案甚至專門產生帶有惡意 manifest 欄位的媒體,測試 parser 是否會出現 injection 等問題。驗簽前後都要把 manifest 當成不可信輸入,輸出到網頁時照樣 escape。

不可見浮水印補的是另一個洞

OpenAI 在圖像上採 C2PA 加 SynthID:metadata 提供較完整的 provenance,不可見浮水印則嘗試撐過截圖、縮放或常見編輯。Anthropic 後來把浮水印擴到 Claude 文字,透過低風險的詞彙選擇形成持金鑰者可偵測的統計模式。

文字尤其脆弱。短內容本來就缺少足夠訊號,徹底改寫可以移除模式,程式碼又因正確寫法受限,能藏訊號的位置很少。廠商稱輕度編輯可能仍可檢出,但未公開足以讓外界評估所有語言與編輯強度的完整資料。

這也是為什麼「沒驗到浮水印」只能是 unknown,不是 human-made。

驗證結果應該有三態

{
  "provenance": "verified | invalid | absent",
  "signer_trust": "trusted | untrusted | unknown",
  "watermark": "detected | not_detected | unsupported",
  "detector_score": 0.71,
  "policy_decision": "label | review | allow | reject"
}

把 absent 和 invalid 分開很重要。前者可能只是平台把 metadata 拿掉;後者才表示檔案和宣告不一致。分類器分數也不要改名成 is_ai=true,它只是模型在特定資料分布上的估計。

對新聞編輯、學校或內容平台來說,較安全的政策通常是:有效來源提高可信度;無來源不自動定罪;無效簽章、高風險情境或其他證據衝突時進人工檢查。若上傳流程自己會洗掉 metadata,先修那條 pipeline,再責怪創作者沒帶憑證。

下一篇會碰到這套技術背後的資料代價。要跨 session 找出濫用、驗證身分與保存來源,就會收集更多資料;但收得越多,外洩與誤用的風險也越大。

本篇的鎖

  • 鎖是什麼:C2PA 簽署來源紀錄、不可見浮水印與生成內容分類器三種不同訊號。
  • 想攔什麼:內容在轉傳與編輯後失去來源,或平台把機率性「像 AI」誤當成確定證明。
  • 破口在哪:metadata 可被剝除,浮水印可受改寫影響,受信任簽署者也可能說錯;驗證 parser 本身還會處理敵意輸入。
  • 怎麼補:採 verified/invalid/absent 三態、驗證憑證信任鏈、對發布流程做破壞測試,並把分類器留作輔助訊號而非唯一裁決。

參考與來源


上一篇
第 19 篇|訓練資料的版權戰——fair use、盜版取得與逐字重現
下一篇
第 21 篇|為了抓跨 Session 濫用,我們準備留下多少資料?
系列文
我也希望安全第一——然後我們看看這些鎖是怎麼一個個被撬開的 共 23 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言